

/****** Object:  UserDefinedFunction [dbo].[GetListTablaAll]    Script Date: 28/08/2013 01:43:59 a.m. ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO




/*
Obtener una tabla de una Lista teniendo como un Separador como Limitador
Creado por : Racchumi Lecca Victor Jhairo
Fecha: 29/12/2007

*/

CREATE FUNCTION [dbo].[GetListTablaAll] (@list nvarchar(MAX),@Separador as char(1))
   RETURNS @tbl TABLE (Variable varchar(20) NOT NULL) AS
BEGIN
   DECLARE @pos        int,
           @nextpos    int,
           @valuelen   int

   SELECT @pos = 0, @nextpos = 1

   WHILE @nextpos > 0
   BEGIN
      SELECT @nextpos = charindex(@Separador, @list, @pos + 1)
      SELECT @valuelen = CASE WHEN @nextpos > 0
                              THEN @nextpos
                              ELSE len(@list) + 1
                         END - @pos - 1
      INSERT @tbl (Variable)
         VALUES ( substring(@list, @pos + 1, @valuelen))
      
      SELECT @pos = @nextpos
   END
  RETURN
END

GO


